home *** CD-ROM | disk | FTP | other *** search
- Tutorial for Crystal Crackme ver Beta (crystal/cabeca
- by Sanhedrin
-
- Tools
- Wdasm
- Softice
-
-
- This crackme requires two serial numbers in order for it to be registered. Enter you
- name and serials:
-
- Sanhedrin
- 12344321
- 55555555
-
- go into softice and enter the breakpoint:
-
- bpx hmemcpy
-
- exit softice and click on try. Disable the breakpoint and press F12 a few times until
- you end up:
-
-
- :0042D3FE 837DFC00 cmp dword ptr [ebp-04], 00000000<---you will land here
- :0042D402 7428 je 0042D42C<---begin checks to see if fields are empty
- :0042D404 8D55F8 lea edx, dword ptr [ebp-08]
- :0042D407 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
- :0042D40D E8CEC9FEFF call 00419DE0
- :0042D412 837DF800 cmp dword ptr [ebp-08], 00000000
- :0042D416 7414 je 0042D42C
- :0042D418 8D55F4 lea edx, dword ptr [ebp-0C]
- :0042D41B 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
- :0042D421 E8BAC9FEFF call 00419DE0
- :0042D426 837DF400 cmp dword ptr [ebp-0C], 00000000
- :0042D42A 7544 jne 0042D470
-
- * Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
- |:0042D3E5(C), :0042D3EE(C), :0042D402(C), :0042D416(C)
- |
-
- * Possible StringData Ref from Code Obj ->"Fill all boxes first dumb!"
- |
- :0042D42C B8C4D54200 mov eax, 0042D5C4
- :0042D431 E856F6FFFF call 0042CA8C
- :0042D436 33C0 xor eax, eax
- :0042D438 A314F74200 mov dword ptr [0042F714], eax
- :0042D43D 33C0 xor eax, eax
- :0042D43F A318F74200 mov dword ptr [0042F718], eax
- :0042D444 33D2 xor edx, edx
- :0042D446 8B83E0010000 mov eax, dword ptr [ebx+000001E0]
- :0042D44C E8BFC9FEFF call 00419E10
- :0042D451 33D2 xor edx, edx
- :0042D453 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
- :0042D459 E8B2C9FEFF call 00419E10
- :0042D45E 33D2 xor edx, edx
- :0042D460 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
- :0042D466 E8A5C9FEFF call 00419E10
- :0042D46B E91A010000 jmp 0042D58A
-
- * Referenced by a (U)nconditional or (C)onditional Jump at Address:
- |:0042D42A(C)
- |
- :0042D470 833D14F7420000 cmp dword ptr [0042F714], 00000000
- :0042D477 746C je 0042D4E5
- :0042D479 833D18F7420000 cmp dword ptr [0042F718], 00000000
- :0042D480 7463 je 0042D4E5
- :0042D482 8D55F0 lea edx, dword ptr [ebp-10]
- :0042D485 A114F74200 mov eax, dword ptr [0042F714]
- :0042D48A E8C190FDFF call 00406550
- :0042D48F 8B45F0 mov eax, dword ptr [ebp-10]
- :0042D492 50 push eax
- :0042D493 8D55FC lea edx, dword ptr [ebp-04]
- :0042D496 8B83E4010000 mov eax, dword ptr [ebx+000001E4]
- :0042D49C E83FC9FEFF call 00419DE0
- :0042D4A1 8B55FC mov edx, dword ptr [ebp-04]
- :0042D4A4 58 pop eax
- :0042D4A5 E82664FDFF call 004038D0<---call to check first serial number
- :0042D4AA 7539 jne 0042D4E5<---jump if not the same
- :0042D4AC 8D55F0 lea edx, dword ptr [ebp-10]
- :0042D4AF A118F74200 mov eax, dword ptr [0042F718]
- :0042D4B4 E89790FDFF call 00406550
- :0042D4B9 8B45F0 mov eax, dword ptr [ebp-10]
- :0042D4BC 50 push eax
- :0042D4BD 8D55FC lea edx, dword ptr [ebp-04]
- :0042D4C0 8B83EC010000 mov eax, dword ptr [ebx+000001EC]
- :0042D4C6 E815C9FEFF call 00419DE0
- :0042D4CB 8B55FC mov edx, dword ptr [ebp-04]
- :0042D4CE 58 pop eax
- :0042D4CF E8FC63FDFF call 004038D0<---call to check second serial number
- :0042D4D4 750F jne 0042D4E5<---jump if not the same
-
- * Possible StringData Ref from Code Obj ->"Hmmm.... Cracked... Congratulations "
- ->"idiot! :-)"
- |
- :0042D4D6 B8E8D54200 mov eax, 0042D5E8
- :0042D4DB E8ACF5FFFF call 0042CA8C
- :0042D4E0 E9A5000000 jmp 0042D58A
-
-
- So we have to calls to the same routine checking our serial numbers. Cancel the breakpoint
- and enter a breakpoint:
-
- bpx 0042D4A5
-
- At 0042D4A5 press F8
-
-
- :004038D0 53 push ebx<---you will land here
- :004038D1 56 push esi
- :004038D2 57 push edi
- :004038D3 89C6 mov esi, eax
- :004038D5 89D7 mov edi, edx
- :004038D7 39D0 cmp eax, edx<---check our serial number
-
- at 004038D7 type
-
- D EDX <---the number we entered (12344321)
- D ECX <---the real number (7690377)
-
- Exit softice and enter your name, the first real serial, and any number for the second serial.
- Return to softice, enable the breakpoint, exit then click again on Try. You should now have broken
- into softice at the call routine for the first serial number. Press F10 until 0042D4CF. Press
- F8 to see the call routine again, and at 004038D7 check ECX for the real serial number (8736083).
-
-
- Greets to tC
-
- Thanks to all of those coders that make these crackmes, to Pepper for sending me on the
- right path so long ago and of course to Eternal Bliss.
-
-
- Sanhedrin
- stachi@geocities.com
-
-
-
-